﻿using LibNiconico.NiconicoApi.HeartBeat;
using LibNiconico.NiconicoApi.Lives.Comments;
using LibNiconico.NiconicoApi.Lives.WatchPage;
using LibNiconico.NiconicoApi.PlayerStatus;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LibNiconico.NiconicoApi.Lives
{
    /// <summary>
    /// ニコニコ生放送接続レスポンス
    /// </summary>
    public class NicoLiveConnectionResponse
    {
        /// <summary>
        /// 成否判定
        /// </summary>
        public bool Succeed { get; private set; }



        /// <summary>
        /// プレイヤーステータスレスポンス
        /// </summary>
        public NicoGetPlayerStatusResponse PlayerStatusResponse { get; private set; }

        /// <summary>
        /// ニコニコ生放送コメントクライアント
        /// </summary>
        public INicoLiveCommentClient CommentClient { get; private set; }

        /// <summary>
        /// 生放送ハートビートクライアント
        /// </summary>
        public INiconicoHeartBeatClient HeartBeatClient { get; private set; }


        internal NicoLiveConnectionResponse() : this(false, null, null, null) { }

        internal NicoLiveConnectionResponse(bool succeed, NicoGetPlayerStatusResponse playerStatusResponse, INicoLiveCommentClient commentClient, INiconicoHeartBeatClient hearBeatClient)
        {
            this.Succeed = succeed;
            this.PlayerStatusResponse = playerStatusResponse;
            this.CommentClient = commentClient;
            this.HeartBeatClient = hearBeatClient;
        }



    }
}
